
using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using LastFMGenNHibernate.EN.LastFM;
using LastFMGenNHibernate.CAD.LastFM;

namespace LastFMGenNHibernate.CEN.LastFM
{
        public partial class UsuarioRegistradoCEN
        {
        public String EscucharRadio (int p_oid, bool suscripcion, int tiempoEscuchado)
        {
                /*PROTECTED REGION ID(LastFM.UsuarioRegistradoCEN_EscucharRadio_precondition) START*/
            UsuarioRegistradoEN usu = _IUsuarioRegistradoCAD.ReadOIDDefault(p_oid);
            IUsuarioRegistradoCAD cadusu = new UsuarioRegistradoCAD();
            UsuarioRegistradoCEN cenusu = new UsuarioRegistradoCEN(cadusu);
                // Preconditions
                // if( !() )
                //              throw new ModelException("Method EscucharRadio() preconditions are violated.");
                if (usu.TiempoEscuchado > 3600)
                {
                    throw new ModelException("Suscribase para poder escuchar la radio, se le acabo el tiempo de prueba");
                }
                if (usu.TiempoEscuchado < 0)
                {
                    throw new ModelException("No puede tener tiempo negativo");
                }
                
                /*PROTECTED REGION END*/

                /*PROTECTED REGION ID(LastFM.UsuarioRegistradoCEN_EscucharRadio_body) ENABLED START*/

                // Body
                //throw new NotImplementedException ("Method EscucharRadio() not yet implemented.");

                /*PROTECTED REGION END*/

                /*PROTECTED REGION ID(LastFM.UsuarioRegistradoCEN_EscucharRadio_postcondition) START*/

                // Postconditions
                // if( !() )
                //              throw new ModelException("Method EscucharRadio() postconditions are violated.");
                return("Disfruta tu radio de prueba");
                /*PROTECTED REGION END*/
        }
        }
}
